﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection.Emit;
using System.Text;
using System.Threading.Tasks;

namespace Derbster.Peer.DataTransfer
{
    public struct BoxEventDto
    {
        public PlayerDto Player { get; set; }
        public int Period { get; set; }
        public int Jam { get; set; }
        public bool Seated { get; set; }
        public bool Released { get; set; }
    }
    public struct LineupDto
    {
        public string Color { get; set; }
        public int Period { get; set; }
        public int Jam { get; set; }
        public string Jammer { get; set; }
        public string Pivot { get; set; }
        public string[] Blockers { get; set; }
    }

    public struct PlayerDto
    {
        public string Color { get; set; }
        public string Number { get; set; }
    }

    public struct PenaltyDto
    {
        public PlayerDto Player { get; set; }
        public int Period { get; set; }
        public int Jam { get; set; }
        public int Rank { get; set; }
        public string Code { get; set; }
    }

    public struct ScoringDto
    {
        public string Color { get; set; }
        public string Jammer { get; set; }
        public int Period { get; set; }
        public int Jam { get; set; }
        public bool Lead { get; set; }
        public bool Lost { get; set; }
        public bool NoPass { get; set; }
        public bool StarPassed { get; set; }
        public bool Injury { get; set; }
        public int[] Passes { get; set; }
    }

    public struct RosterDto
    {
        public string Color { get; set; }
        public string Name { get; set; }
        public string[] Numbers { get; set; }
    }

    public struct MatchDto
    {
        public Guid GlobalIdentifier { get; set; }
        public RosterDto FirstRoster { get; set; }
        public RosterDto SecondRoster { get; set; }
        public BoxEventDto[] BoxEvents { get; set; }
        public LineupDto[] Lineups { get; set; }
        public PenaltyDto[] Penalties { get; set; }
        public ScoringDto[] Scoring { get; set; }
    }
}
